Skip to content

HIVE:3148: [WIP]hive extension binary test#78242

Closed
miyadav wants to merge 1 commit intoopenshift:mainfrom
miyadav:hive-ote-tests
Closed

HIVE:3148: [WIP]hive extension binary test#78242
miyadav wants to merge 1 commit intoopenshift:mainfrom
miyadav:hive-ote-tests

Conversation

@miyadav
Copy link
Copy Markdown
Member

@miyadav miyadav commented Apr 23, 2026

/hold

depends on - openshift/origin#31059

Summary by CodeRabbit

  • Tests
    • Added OTE end-to-end presubmit workflows for AWS, GCP, Azure, and vSphere with provider-specific gating, environment setup, and on-demand PR triggers.
  • Chores
    • Added a dedicated CI test image to standardize OTE test execution.
    • Removed empty namespace declarations from credential entries to clean up mounts.

@openshift-ci openshift-ci Bot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. labels Apr 23, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 23, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Adds a new hive-tests ci-operator image and four OTE end-to-end workflows for Hive (e2e-ote, e2e-gcp-ote, e2e-azure-ote, e2e-vsphere-ote), corresponding presubmit jobs, and removes two empty namespace: "" credential fields in ci-tools config.

Changes

Cohort / File(s) Summary
CI Config: OTE workflows & image
ci-operator/config/openshift/hive/openshift-hive-master.yaml
Adds hive-tests image (built from Dockerfile.ote) and four OTE workflows that run openshift-tests-extension run-suite openshift/hive from from: hive-tests. Workflows set provider-specific cluster_profile, mount credentials/secrets, export env vars (including generated CLUSTER_NAME), and include provider-specific setup (AWS cluster_claim and CRD install; GCP/Azure/vSphere minimal env setup).
Prow presubmits: OTE job triggers
ci-operator/jobs/openshift/hive/openshift-hive-master-presubmits.yaml
Adds four presubmit jobs (e2e-ote, e2e-gcp-ote, e2e-azure-ote, e2e-vsphere-ote) wired to /test ...-ote triggers on master. Jobs run ci-operator with --target=<variant>; e2e-ote mounts Hive kubeconfig/credentials and uses skip_if_only_changed; cloud-specific jobs use run_if_changed and provider-specific secret mounts.
ci-tools credential cleanup
ci-operator/config/openshift/ci-tools/openshift-ci-tools-main.yaml
Removes explicit empty namespace: "" fields from two credential entries (GSM GCP service account and Snyk credentials) used in test steps; no other mount/env changes.

Sequence Diagram(s)

sequenceDiagram
    participant Prow
    participant CI as ci-operator
    participant Image as hive-tests
    participant CloudAPI as Cloud Provider API
    participant Cluster
    Prow->>CI: trigger presubmit (/test ...-ote)
    CI->>CI: prepare job (select `from: hive-tests`, mount creds, set envs)
    CI->>CloudAPI: run provider workflow (ipi-aws/gcp/azure/vsphere)
    CloudAPI->>Cluster: provision cluster (claims/profiles)
    CI->>Image: execute `openshift-tests-extension run-suite openshift/hive`
    Image->>Cluster: run e2e tests
    Image->>CI: return test results
    CI->>Prow: post job result
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 12
✅ Passed checks (12 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title references HIVE:3148 and mentions 'hive extension binary test', which aligns with the PR's core change: adding OTE (OpenShift Tests Extension) end-to-end test jobs for Hive.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed PR only modifies CI/CD configuration files (YAML), not Ginkgo test code with test names.
Test Structure And Quality ✅ Passed PR modifies only CI/CD configuration YAML files, not Ginkgo test code implementations.
Microshift Test Compatibility ✅ Passed This PR only adds CI/Prow configuration files in YAML format to run existing tests from the hive repository. No new Ginkgo test code with patterns like It(), Describe(), Context(), or When() is being introduced.
Single Node Openshift (Sno) Test Compatibility ✅ Passed This PR does not add new Ginkgo e2e tests. The changes consist exclusively of YAML CI configuration files and removal of empty namespace fields from credentials.
Topology-Aware Scheduling Compatibility ✅ Passed PR modifies CI operator configuration files defining test jobs and build configs, not deployment manifests with scheduling constraints targeting HA topology.
Ote Binary Stdout Contract ✅ Passed PR modifies only YAML configuration files and documentation files in .claude/ directory. No Go source code changes introduced, so OTE Binary Stdout Contract check does not apply.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR only modifies CI/CD configuration YAML files, not Ginkgo test source code files, so the check for new Ginkgo e2e tests does not apply.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci openshift-ci Bot requested review from dlom and jstuever April 23, 2026 11:00
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (3)
ci-operator/jobs/openshift/hive/openshift-hive-master-presubmits.yaml (1)

249-332: Missing timeout for e2e-azure-ote job.

The original e2e-azure job (lines 164-248) specifies timeout: 4h30m0s in decoration_config:

decoration_config:
  skip_cloning: true
  timeout: 4h30m0s

The new e2e-azure-ote job doesn't include this timeout, which may cause premature job termination for Azure's longer provisioning times.

Proposed fix
     decoration_config:
       skip_cloning: true
+      timeout: 4h30m0s
     labels:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@ci-operator/jobs/openshift/hive/openshift-hive-master-presubmits.yaml` around
lines 249 - 332, The new job pull-ci-openshift-hive-master-e2e-azure-ote is
missing the decoration_config timeout, which can cause premature termination
during long Azure provisioning; add a timeout: 4h30m0s entry under the job's
decoration_config (next to skip_cloning: true) so the job uses the same 4h30m0s
timeout as the original e2e-azure job.
ci-operator/config/openshift/hive/openshift-hive-master.yaml (2)

393-411: Azure OTE test is missing timeout and BASE_DOMAIN configuration.

Compared to the original e2e-azure test (lines 205-226):

  1. Missing timeout: The original test specifies timeout: 4h30m0s at the test level. Long-running Azure provisioning may exceed the default timeout.

  2. Missing BASE_DOMAIN: The original test exports BASE_DOMAIN=$(<"${SHARED_DIR}"/basedomain.txt).

Proposed fix
 - as: e2e-azure-ote
   run_if_changed: azure
   steps:
     cluster_profile: openshift-org-azure
     test:
     - as: test
       cli: latest
       commands: |
+        export BASE_DOMAIN=$(<"${SHARED_DIR}"/basedomain.txt)
         /usr/bin/openshift-tests-extension run-suite openshift/hive
       dependencies:
       - env: HIVE_IMAGE
         name: hive
       - env: RELEASE_IMAGE
         name: release:latest
       from: hive-tests
       resources:
         requests:
           cpu: 100m
+      timeout: 2h30m0s
     workflow: ipi-azure
+  timeout: 4h30m0s
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@ci-operator/config/openshift/hive/openshift-hive-master.yaml` around lines
393 - 411, The e2e-azure-ote job (as: e2e-azure-ote, run_if_changed: azure)
lacks the test-level timeout and BASE_DOMAIN export present in the original
e2e-azure job; update the test stanza (the test: - as: test block and its
commands) to add timeout: 4h30m0s at the same level as test and ensure
BASE_DOMAIN is exported before running openshift-tests-extension (e.g., add an
env/dependency or prepend a command to set
BASE_DOMAIN=$(<"${SHARED_DIR}"/basedomain.txt) in the commands section) so the
job uses the same timeout and base domain configuration as the original
e2e-azure job.

374-392: GCP OTE test lacks cloud-specific environment setup.

The original e2e-gcp test sets CLOUD=gcp:

commands: GO_COMPLIANCE_INFO=0 CLOUD=gcp make test-e2e

The OTE version doesn't set any cloud indicator. If the test suite needs to know which cloud provider to target, consider adding the CLOUD environment variable or verify the OTE framework handles this through the cluster profile.

Proposed fix if CLOUD env is needed
     commands: |
+      export CLOUD=gcp
       /usr/bin/openshift-tests-extension run-suite openshift/hive
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@ci-operator/config/openshift/hive/openshift-hive-master.yaml` around lines
374 - 392, The OTE test's test step is missing the CLOUD=gcp indicator so the
suite may not target GCP; update the test step's commands (the commands key
under the test block that currently runs "/usr/bin/openshift-tests-extension
run-suite openshift/hive") to set CLOUD=gcp (e.g. prepend "CLOUD=gcp" or add an
env: CLOUD entry under the same test step) so the Hive tests run with the GCP
cloud context; alternatively, if the cluster_profile or workflow already injects
cloud info, explicitly verify that before leaving the commands unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@ci-operator/config/openshift/hive/openshift-hive-master.yaml`:
- Around line 412-433: The e2e-vsphere-ote job is missing the vSphere
environment setup; update the job (as: e2e-vsphere-ote) to source the same
shared scripts and export the same env vars as the original e2e-vsphere job
before running tests: source $SHARED_DIR/vsphere_context.sh, $SHARED_DIR/govc.sh
and $SHARED_DIR/additional_cluster.sh, then export
CLUSTER_NAME=$ADDITIONAL_CLUSTER_NAME,
VSPHERE_API_VIP=$ADDITIONAL_CLUSTER_API_VIP,
VSPHERE_INGRESS_VIP=$ADDITIONAL_CLUSTER_INGRESS_VIP,
VSPHERE_MACHINE_NETWORK=$(<"${SHARED_DIR}/machinecidr.txt"),
BASE_DOMAIN=$(<"${SHARED_DIR}/basedomain.txt") and
VSPHERE_INSTALLER_PLATFORM_SPEC_JSON=$(<"${SHARED_DIR}/platform.json") (place
these commands at the start of the test.commands block that runs
/usr/bin/openshift-tests-extension run-suite openshift/hive so the hive tests
receive the required vSphere configuration).

---

Nitpick comments:
In `@ci-operator/config/openshift/hive/openshift-hive-master.yaml`:
- Around line 393-411: The e2e-azure-ote job (as: e2e-azure-ote, run_if_changed:
azure) lacks the test-level timeout and BASE_DOMAIN export present in the
original e2e-azure job; update the test stanza (the test: - as: test block and
its commands) to add timeout: 4h30m0s at the same level as test and ensure
BASE_DOMAIN is exported before running openshift-tests-extension (e.g., add an
env/dependency or prepend a command to set
BASE_DOMAIN=$(<"${SHARED_DIR}"/basedomain.txt) in the commands section) so the
job uses the same timeout and base domain configuration as the original
e2e-azure job.
- Around line 374-392: The OTE test's test step is missing the CLOUD=gcp
indicator so the suite may not target GCP; update the test step's commands (the
commands key under the test block that currently runs
"/usr/bin/openshift-tests-extension run-suite openshift/hive") to set CLOUD=gcp
(e.g. prepend "CLOUD=gcp" or add an env: CLOUD entry under the same test step)
so the Hive tests run with the GCP cloud context; alternatively, if the
cluster_profile or workflow already injects cloud info, explicitly verify that
before leaving the commands unchanged.

In `@ci-operator/jobs/openshift/hive/openshift-hive-master-presubmits.yaml`:
- Around line 249-332: The new job pull-ci-openshift-hive-master-e2e-azure-ote
is missing the decoration_config timeout, which can cause premature termination
during long Azure provisioning; add a timeout: 4h30m0s entry under the job's
decoration_config (next to skip_cloning: true) so the job uses the same 4h30m0s
timeout as the original e2e-azure job.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: af59f246-1537-4e66-b160-bf870b89f616

📥 Commits

Reviewing files that changed from the base of the PR and between de50406 and 431bae2.

📒 Files selected for processing (2)
  • ci-operator/config/openshift/hive/openshift-hive-master.yaml
  • ci-operator/jobs/openshift/hive/openshift-hive-master-presubmits.yaml

Comment thread ci-operator/config/openshift/hive/openshift-hive-master.yaml
@miyadav miyadav changed the title [WIP]hive extension binary test HIVE:3148: [WIP]hive extension binary test Apr 23, 2026
@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Apr 23, 2026
Copy link
Copy Markdown
Member

@2uasimojo 2uasimojo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As discussed here, we're going to need to figure out whether OTE suites should be defined as presubmits, periodics, or both. Summarizing, we should consider our ability to trigger these tests:

  • On demand on a big/risky PR for more aggressive regression coverage.
  • On demand on the tip of master e.g. as pre-release/pre-promotion validation.
  • Periodically/automatically for ongoing regression peace-of-mind.

Also as indicated inline, I need to understand how platform- (or other-characteristic-) specific test behavior is triggered. Even if a single invocation can exercise all platforms, I reckon we have a requirement to at least be able to filter down to a subset. This could be where @newtonheath's tagging suggestion comes into play. For example, "This PR adds a knob to GCP MachinePools, so run all tests with platform=gcp and scope=machinepool."

requests:
cpu: 100m
workflow: generic-claim
- as: e2e-pool-ote
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As written, this is not different than the above e2e-ote. The presubmits for e2e and e2e-pool actually run different test scripts. I don't think such a split is necessary or even possible here unless the OTE suite supports some kind of differentiator input.

requests:
cpu: 100m
workflow: generic-claim
- as: e2e-gcp-ote
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As written, this and e2e-azure-ote and e2e-vsphere-ote appear to differ from e2e-ote only in the platform of the hub cluster.

In general for hive we care much less about the platform of the hub -- which technically is allowed to be any k8s and runs almost identically -- and more about that of the spoke, as that informs:

  • A completely different provisioning code path
  • Platform-specific knobs in hive CRDs (primarily ClusterDeployment/ClusterPool & MachinePool) and corresponding behavior.

Is the test suite somehow detecting the cloud provider of the hub and creating spokes accordingly? And also filtering platform-specific test cases?

@2uasimojo
Copy link
Copy Markdown
Member

/pj-rehearse pull-ci-openshift-hive-master-e2e-ote

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@2uasimojo: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@miyadav
Copy link
Copy Markdown
Member Author

miyadav commented Apr 27, 2026

/pj-rehearse pull-ci-openshift-hive-master-e2e-ote

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@miyadav: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@ci-operator/config/openshift/hive/openshift-hive-master.yaml`:
- Around line 382-403: The e2e-vsphere-ote job sources govc.sh/govc-related
scripts but is missing the vSphere credential mount (vsphere-ibmcloud-ci) so
govc.sh cannot authenticate; restore the secret mount by adding the same vsphere
credential dependency/secret used in the working e2e-vsphere job to the
e2e-vsphere-ote job (where the scripts are sourced), ensuring the secret name
(vsphere-ibmcloud-ci) is mounted/available to govc.sh and the sourced scripts.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: d0b8e4da-af2f-45c1-9ed6-9c303eb00664

📥 Commits

Reviewing files that changed from the base of the PR and between 431bae2 and c21f25e.

📒 Files selected for processing (2)
  • ci-operator/config/openshift/hive/openshift-hive-master.yaml
  • ci-operator/jobs/openshift/hive/openshift-hive-master-presubmits.yaml

Comment on lines +382 to +403
test:
- as: test
cli: latest
commands: |
source $SHARED_DIR/vsphere_context.sh
source $SHARED_DIR/govc.sh
source $SHARED_DIR/additional_cluster.sh

export CLUSTER_NAME=$ADDITIONAL_CLUSTER_NAME
export VSPHERE_API_VIP=$ADDITIONAL_CLUSTER_API_VIP
export VSPHERE_INGRESS_VIP=$ADDITIONAL_CLUSTER_INGRESS_VIP
export VSPHERE_MACHINE_NETWORK=$(<"${SHARED_DIR}"/machinecidr.txt)
export BASE_DOMAIN=$(<"${SHARED_DIR}"/basedomain.txt)
export VSPHERE_INSTALLER_PLATFORM_SPEC_JSON=$(<"${SHARED_DIR}"/platform.json)

/usr/bin/openshift-tests-extension run-suite openshift/hive
dependencies:
- env: HIVE_IMAGE
name: hive
- env: RELEASE_IMAGE
name: release:latest
from: hive-tests
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Compare existing e2e-vsphere with e2e-vsphere-ote:"
sed -n '227,263p;375,407p' ci-operator/config/openshift/hive/openshift-hive-master.yaml

echo
echo "Locate the shared vSphere setup scripts referenced by the jobs:"
fd -i 'govc\.sh$|vsphere_context\.sh$|additional_cluster\.sh$' -t f | while read -r f; do
  echo "--- $f ---"
  sed -n '1,200p' "$f"
done

Repository: openshift/release

Length of output: 2427


Restore the vSphere secret mount in e2e-vsphere-ote.

The e2e-vsphere-ote job sources the same vSphere setup scripts (vsphere_context.sh, govc.sh, additional_cluster.sh) as the existing e2e-vsphere job, but it omits the vsphere-ibmcloud-ci credential mount that the working job includes. The govc.sh script requires vSphere credentials for authentication, so this job will fail during the sourcing phase without that secret.

Suggested fix
     - as: test
       cli: latest
       commands: |
         source $SHARED_DIR/vsphere_context.sh
         source $SHARED_DIR/govc.sh
         source $SHARED_DIR/additional_cluster.sh

         export CLUSTER_NAME=$ADDITIONAL_CLUSTER_NAME
         export VSPHERE_API_VIP=$ADDITIONAL_CLUSTER_API_VIP
         export VSPHERE_INGRESS_VIP=$ADDITIONAL_CLUSTER_INGRESS_VIP
         export VSPHERE_MACHINE_NETWORK=$(<"${SHARED_DIR}"/machinecidr.txt)
         export BASE_DOMAIN=$(<"${SHARED_DIR}"/basedomain.txt)
         export VSPHERE_INSTALLER_PLATFORM_SPEC_JSON=$(<"${SHARED_DIR}"/platform.json)

         /usr/bin/openshift-tests-extension run-suite openshift/hive
+      credentials:
+      - mount_path: /var/run/vault/vsphere-ibmcloud-ci
+        name: vsphere-ibmcloud-ci
+        namespace: test-credentials
       dependencies:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@ci-operator/config/openshift/hive/openshift-hive-master.yaml` around lines
382 - 403, The e2e-vsphere-ote job sources govc.sh/govc-related scripts but is
missing the vSphere credential mount (vsphere-ibmcloud-ci) so govc.sh cannot
authenticate; restore the secret mount by adding the same vsphere credential
dependency/secret used in the working e2e-vsphere job to the e2e-vsphere-ote job
(where the scripts are sourced), ensuring the secret name (vsphere-ibmcloud-ci)
is mounted/available to govc.sh and the sourced scripts.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
ci-operator/config/openshift/hive/openshift-hive-master.yaml (1)

378-407: ⚠️ Potential issue | 🟠 Major

e2e-vsphere-ote is missing the vSphere credential mount.

This job sources vsphere_context.sh and govc.sh but does not mount vsphere-ibmcloud-ci; vSphere auth bootstrap is likely to fail before the suite starts.

Suggested patch
 - as: e2e-vsphere-ote
   run_if_changed: vsphere
   steps:
@@
     - as: test
       cli: latest
       commands: |
         export KUBECONFIG="${SHARED_DIR}/kubeconfig"
         source $SHARED_DIR/vsphere_context.sh
         source $SHARED_DIR/govc.sh
         source $SHARED_DIR/additional_cluster.sh
@@
         export VSPHERE_INSTALLER_PLATFORM_SPEC_JSON=$(<"${SHARED_DIR}"/platform.json)

         /usr/bin/openshift-tests-extension run-suite openshift/hive
+      credentials:
+      - mount_path: /var/run/vault/vsphere-ibmcloud-ci
+        name: vsphere-ibmcloud-ci
+        namespace: test-credentials
       dependencies:
       - env: HIVE_IMAGE
         name: hive
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@ci-operator/config/openshift/hive/openshift-hive-master.yaml` around lines
378 - 407, The e2e-vsphere-ote job is missing the vSphere credential mount
causing vsphere_context.sh/govc.sh to fail; add a secrets mount for the
vsphere-ibmcloud-ci secret to the job's steps so those scripts can access
credentials at runtime. Specifically, update the e2e-vsphere-ote job definition
to include the vsphere-ibmcloud-ci secret (mounting it under the shared
directory or the expected path the scripts use) so that sourcing
vsphere_context.sh and govc.sh succeeds when the test commands run. Ensure the
secret name matches vsphere-ibmcloud-ci and is referenced in the job's steps
alongside the existing dependencies.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@ci-operator/config/openshift/hive/openshift-hive-master.yaml`:
- Around line 378-407: The e2e-vsphere-ote job is missing the vSphere credential
mount causing vsphere_context.sh/govc.sh to fail; add a secrets mount for the
vsphere-ibmcloud-ci secret to the job's steps so those scripts can access
credentials at runtime. Specifically, update the e2e-vsphere-ote job definition
to include the vsphere-ibmcloud-ci secret (mounting it under the shared
directory or the expected path the scripts use) so that sourcing
vsphere_context.sh and govc.sh succeeds when the test commands run. Ensure the
secret name matches vsphere-ibmcloud-ci and is referenced in the job's steps
alongside the existing dependencies.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 24ceabe1-07db-46ff-86e8-692be9c41214

📥 Commits

Reviewing files that changed from the base of the PR and between c21f25e and 19ed9ad.

📒 Files selected for processing (1)
  • ci-operator/config/openshift/hive/openshift-hive-master.yaml

@miyadav
Copy link
Copy Markdown
Member Author

miyadav commented Apr 27, 2026

/pj-rehearse pull-ci-openshift-hive-master-e2e-ote

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@miyadav: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@miyadav
Copy link
Copy Markdown
Member Author

miyadav commented Apr 27, 2026

/pj-rehearse pull-ci-openshift-hive-master-e2e-ote

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@miyadav: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@miyadav
Copy link
Copy Markdown
Member Author

miyadav commented Apr 27, 2026

/pj-rehearse pull-ci-openshift-hive-master-e2e-ote

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@miyadav: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@miyadav
Copy link
Copy Markdown
Member Author

miyadav commented Apr 27, 2026

/pj-rehearse pull-ci-openshift-hive-master-e2e-ote

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@miyadav: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@miyadav
Copy link
Copy Markdown
Member Author

miyadav commented Apr 27, 2026

/pj-rehearse pull-ci-openshift-hive-master-e2e-ote

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@miyadav: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@miyadav
Copy link
Copy Markdown
Member Author

miyadav commented Apr 28, 2026

/pj-rehearse pull-ci-openshift-hive-master-e2e-ote

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@miyadav: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@miyadav
Copy link
Copy Markdown
Member Author

miyadav commented Apr 28, 2026

/pj-rehearse pull-ci-openshift-hive-master-e2e-ote

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@miyadav: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@miyadav: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@miyadav
Copy link
Copy Markdown
Member Author

miyadav commented Apr 29, 2026

/pj rehearse abort

@miyadav
Copy link
Copy Markdown
Member Author

miyadav commented Apr 29, 2026

/pj-rehearse pull-ci-openshift-hive-master-e2e-ote

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@miyadav: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@miyadav
Copy link
Copy Markdown
Member Author

miyadav commented Apr 29, 2026

/retest

@miyadav
Copy link
Copy Markdown
Member Author

miyadav commented Apr 29, 2026

/pj-rehearse pull-ci-openshift-hive-master-e2e-ote

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@miyadav: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Apr 29, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: miyadav
Once this PR has been reviewed and has the lgtm label, please assign suhanime for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@miyadav
Copy link
Copy Markdown
Member Author

miyadav commented Apr 29, 2026

/pj-rehearse pull-ci-openshift-hive-master-e2e-ote

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@miyadav: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@miyadav
Copy link
Copy Markdown
Member Author

miyadav commented Apr 29, 2026

/pj-rehearse pull-ci-openshift-hive-master-e2e-ote

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@miyadav: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@miyadav
Copy link
Copy Markdown
Member Author

miyadav commented Apr 29, 2026

/pj-rehearse pull-ci-openshift-hive-master-e2e-ote

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@miyadav: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@miyadav
Copy link
Copy Markdown
Member Author

miyadav commented Apr 29, 2026

/pj-rehearse pull-ci-openshift-hive-master-e2e-ote

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@miyadav: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

Add e2e-ote, e2e-gcp-ote, e2e-azure-ote, and e2e-vsphere-ote test jobs
using the OpenShift Tests Extension framework. Temporarily uses
dockerfile_literal to build hive-tests from miyadav/hive:fix-ote-init
branch while the hive PR is validated.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@miyadav: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-openshift-hive-master-e2e-azure-ote openshift/hive presubmit Presubmit changed
pull-ci-openshift-hive-master-e2e-gcp-ote openshift/hive presubmit Presubmit changed
pull-ci-openshift-hive-master-e2e-ote openshift/hive presubmit Presubmit changed
pull-ci-openshift-hive-master-e2e-vsphere-ote openshift/hive presubmit Presubmit changed
pull-ci-openshift-hive-master-coverage openshift/hive presubmit Ci-operator config changed
pull-ci-openshift-hive-master-e2e openshift/hive presubmit Ci-operator config changed
pull-ci-openshift-hive-master-e2e-azure openshift/hive presubmit Ci-operator config changed
pull-ci-openshift-hive-master-e2e-gcp openshift/hive presubmit Ci-operator config changed
pull-ci-openshift-hive-master-e2e-openstack openshift/hive presubmit Ci-operator config changed
pull-ci-openshift-hive-master-e2e-pool openshift/hive presubmit Ci-operator config changed
pull-ci-openshift-hive-master-e2e-vsphere openshift/hive presubmit Ci-operator config changed
pull-ci-openshift-hive-master-images openshift/hive presubmit Ci-operator config changed
pull-ci-openshift-hive-master-periodic-images openshift/hive presubmit Ci-operator config changed
pull-ci-openshift-hive-master-security openshift/hive presubmit Ci-operator config changed
pull-ci-openshift-hive-master-unit openshift/hive presubmit Ci-operator config changed
pull-ci-openshift-hive-master-verify openshift/hive presubmit Ci-operator config changed
periodic-ci-openshift-hive-master-periodic-e2e-gcp-weekly N/A periodic Ci-operator config changed
periodic-ci-openshift-hive-master-periodic-e2e-openstack-weekly N/A periodic Ci-operator config changed
periodic-ci-openshift-hive-master-periodic-e2e-pool-weekly N/A periodic Ci-operator config changed
periodic-ci-openshift-hive-master-periodic-e2e-vsphere-weekly N/A periodic Ci-operator config changed
periodic-ci-openshift-hive-master-periodic-e2e-weekly N/A periodic Ci-operator config changed
periodic-ci-openshift-hive-master-periodic-e2e-azure-weekly N/A periodic Ci-operator config changed
Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@miyadav
Copy link
Copy Markdown
Member Author

miyadav commented Apr 29, 2026

/pj-rehearse pull-ci-openshift-hive-master-e2e-ote

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@miyadav: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Apr 29, 2026

@miyadav: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/generated-config 1dd60cf link true /test generated-config
ci/rehearse/openshift/hive/master/e2e-ote 1dd60cf link unknown /pj-rehearse pull-ci-openshift-hive-master-e2e-ote

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@miyadav
Copy link
Copy Markdown
Member Author

miyadav commented Apr 29, 2026

/close
for - #78554

@miyadav
Copy link
Copy Markdown
Member Author

miyadav commented Apr 29, 2026

/close

@miyadav miyadav closed this Apr 29, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Apr 29, 2026

@miyadav: Closed this PR.

Details

In response to this:

/close
for - #78554

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Apr 29, 2026

@miyadav: Closed this PR.

Details

In response to this:

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants